package com.atguigu.vip.spring.framework.beans;

/**
 * 显然是 包装器 模式
 */
public class GPBeanWrapper {

    /**
     * bean 实例
     */
    private Object wrappedInstance;
    /**
     * bean的class对象，为啥需要它呢？  后面需要反复创实例的时候，可以直接拿着这个class去创
     */
    private Class<?> wrappedClass;

    public GPBeanWrapper(Object wrappedInstance){
        this.wrappedInstance = wrappedInstance;
    }

    public Object getWrappedInstance(){
        return this.wrappedInstance;
    }

    // 返回代理以后的Class
    // 可能会是这个 $Proxy0
    public Class<?> getWrappedClass(){
        return this.wrappedInstance.getClass();
    }
}
